package com.leo.m1803.d27;

import java.util.Arrays;
import java.util.Comparator;

/**
 * Created by LEO on 2018/3/27.
 */
public class Main2 {
    public static void main(String[] args) {
//        Scanner sc = new Scanner(System.in);
//        int n = sc.nextInt();
//        int m = sc.nextInt();
//        int[][] dp = new int[n][2];
//        int[] a = new int[m];
//        for (int i = 0; i < n; i++) {
//            dp[i][0] = sc.nextInt();
//            dp[i][1] = sc.nextInt();
//        }
//        for (int i = 0; i < m; i++) {
//            a[i] = sc.nextInt();
//        }
//        int[] ans = a(n, m, dp, a);
//        for (int i = 0; i < ans.length; i++) {
//            System.out.println(ans[i]);
//        }

        int[][] dp=new int[][]{{1, 100},{10, 1000},{1000, 1001}};
        System.out.println(Arrays.toString(a(3, 3, dp, new int[]{9, 10, 1000})));
    }

    /**
     *
     * @param n 工作数量
     * @param m 小伙伴数量
     * @param dp 二维数组，dp[][0]每种工作难度  dp[][1]表示每种工作的报酬
     * @param a 小伙伴的能力值
     * @return 对应小伙伴的最大报酬数组
     */
    private static int[] a(int n, int m, int[][] dp, int[] a){
        int[] res = new int[m];//存放结果
        //将报酬按由高到低排列
        Arrays.sort(dp, new Comparator<int[]>() {
            @Override
            public int compare(int[] o1, int[] o2) {
                return o2[1]-o1[1];
            }
        });
        //根据小伙伴的能力值从上往下匹配，能匹配就当前工作了
        for (int i = 0; i < m; i++) {
            for (int j = 0; j < n; j++) {
                if (a[i] >= dp[j][0]){
                    res[i] = dp[j][1];
                    break;
                }
            }
        }
        return res;
    }
}
